/** 防抖：事件在触发N秒后执行回调，如果在N秒内又被触发，则重新计时 */
function debounce(fn,wait){
    var timer = null;
    return function(...args){
        if(timer)
            clearTimeout(timer);
        timer = setTimeout(()=>{
            fn.apply(this,args);
            timer = null;
        },wait)
    }
}